package com.jason.system.mapper;

import com.jason.system.entity.Order;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author jie
 * @version 1.0
 * success come from self-discipline
 * @date 2021/3/26 20:00
 */
public interface OrderMapper {

  /**
   * 根据id获取派单信息
   * @param oid 派单id
   * @return Order
   */
  Order getOrderById(@Param("oid") Integer oid);

  /**
   * 获取所有派单信息
   * @return List<Order>
   */
  List<Order> getAllOrderS();

  /**
   * 获取未完成派单信息
   * @return List<Order>
   */
  List<Order> getAllOrderNotFinish();


  /**
   * 根据信息查找派单信息
   * @param address 地址
   * @param stuName 学生姓名
   * @return List<Order>
   */
  List<Order> getSearchOrders(@Param("address") String address , @Param("stuName") String stuName);

  /**
   * 添加派单信息
   * @param order 派单信息
   */
  void insertOrder(@Param("order") Order order);

  /**
   * 更新派单信息
   * @param order 派单信息
   */
  void updateOrder(@Param("order") Order order);

  /**
   * 更新派单状态
   * @param status 派单状态
   * @param oId 派单id
   */
  void updateOrderStatus(@Param("oId") Integer oId , @Param("status") Integer status);

  /**
   * 删除派单信息
   * @param oId
   */
  void deleteOrder(@Param("oId") Integer oId);

  /**
   * 批量删除派单信息
   * @param oIds
   */
  void deleteOrders(@Param("oIds") List<Integer> oIds);
}
